﻿using System; // 引入System命名空间，提供基础类型和异常处理
using System.Globalization; // 引入全球化命名空间，支持区域性和文化相关操作
using System.Windows; // 引入WPF的核心命名空间，包含Visibility等类型
using System.Windows.Data; // 引入WPF数据绑定命名空间，包含IValueConverter接口

namespace Multi_protocol_upper_computer.Converters // 定义命名空间，组织转换器类
{
    // 字符串到可见性转换器，用于WPF数据绑定
    public class StringToVisibilityConverter : IValueConverter // 实现IValueConverter接口
    {
        // 将字符串值与参数比较，相等时返回Visible，否则返回Collapsed
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            // 如果值或参数为null，则返回Collapsed（不可见）
            if (value == null || parameter == null)
                return Visibility.Collapsed;

            // 比较value和parameter的字符串表示，完全相等时返回Visible，否则返回Collapsed
            return value.ToString() == parameter.ToString() ? Visibility.Visible : Visibility.Collapsed;
        }

        // 不支持从Visibility反向转换为字符串，直接抛出异常
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException(); // 抛出未实现异常
        }
    }
}